home *** CD-ROM | disk | FTP | other *** search
/ Aminet 13 / Aminet 13 - August 1996.iso / Aminet / dev / e / energy.lha / Energy / PD / EKick.e next >
Text File  |  1996-05-18  |  1KB  |  50 lines

  1. /* EKICK  Copy Kickstart ROM into a file
  2.    AMIGA E v3.1a:     20-06-95
  3.    Author:   Marco Talamelli
  4.    E-Mail:   marco_talamelli@amp.flashnet.it
  5. */
  6.  
  7. MODULE 'workbench/startup'
  8.  
  9. DEF msg:PTR TO CHAR
  10.  
  11. PROC main()
  12.  
  13. DEF startup:PTR TO wbstartup
  14.  
  15. msg:='\n\e[1m EKick V1.7 - 1995 by Marco Talamelli, Roma, Italy.\e[0m\n'
  16.  
  17.     IF(startup:=wbmessage)=NIL
  18.         IF (StrCmp(arg,'')=-1) OR (StrCmp(arg,'?')=-1)
  19.          WriteF(msg)
  20.          WriteF('\e[2m Usage: EKick [<destination file name>]\e[0m\n\n')
  21.         ELSE
  22.          ext(arg)
  23.         ENDIF
  24.     ELSE
  25.         /* Start from WorkBench */
  26.         ext('ram:Kick')
  27.     ENDIF
  28.  
  29. ENDPROC
  30.  
  31. PROC ext(kick:PTR TO CHAR)
  32.  
  33. DEF fh=NIL,romstart,romend=$00FFFFFF,len=$00FFFFEC
  34.  
  35.     fh:=Open(kick,NEWFILE)
  36.  
  37. romstart:=romend-^len+1
  38.  
  39. WriteF(msg)
  40. WriteF('\nROMstart:\e[33m \h\n\e[31mROMend  :\e[33m \h\n',romstart,romend)
  41. WriteF('\e[31mKickstart Version\e[33m \d.\d\n',Int(romstart+$0c),Int(romstart+$0e))
  42. WriteF('\e[31mExec Version\e[33m \d.\d',Int(romstart+$10),Int(romstart+$12))
  43. WriteF('\n\e[31mWriting to file "\e[33m\s\e[31m"...',kick)
  44.  
  45.         Write(fh,romstart,^len)
  46.  
  47.         Close(fh)
  48.         WriteF(' \d Bytes (\d KB).\n\n',^len,^len/1024)
  49. ENDPROC
  50.